package com.ev.asl.dao;

import com.ev.asl.domain.AslBarCodeDO;
import com.ev.asl.domain.AslBarCodeTrayDO;
import com.ev.asl.dto.AslBarCodeParam;
import com.ev.asl.dto.AslBarCodeTrayParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 姚家乐
 * @since 2021/7/6 17:20
 */
@Mapper
public interface AslBarCodeDao {

    List<AslBarCodeDO> listJob();
    Integer countByTrayId(@Param("trayId") Long trayId);
    int batchRemove(List<Integer> ids);
    AslBarCodeDO get(@Param("id")Long id);
    AslBarCodeTrayDO getTrayById(@Param("id") Long id);
    Map<String, Object> getTray(@Param("id")Long id);

    List<Map<String, Object>> listTrays(Map<String, Object> map);

    List<AslBarCodeDO> list(AslBarCodeParam param);

    Integer count(AslBarCodeParam param);

    int update(AslBarCodeDO aslBarCodeDO);

    int batchSave(List<AslBarCodeDO> list);

    int batchUpdate(List<AslBarCodeDO> list);

    List<AslBarCodeTrayDO> trayList(AslBarCodeTrayParam param);

    int batchDeleteTray(AslBarCodeTrayParam param);

    int traySave(AslBarCodeTrayDO trayDO);

    List<Map<String,Object>> getCodeByUuid(@Param("uuid")List<String> uuid);

    int save (AslBarCodeDO aslBarCodeDO);

    List<AslBarCodeDO> listByIds(@Param("ids")List<Integer> ids);

    int updateStatus(Long trayId);

    int batchUpdateStatus(AslBarCodeTrayParam param);

    int batchUpdateTrays(List<AslBarCodeTrayDO> aslBarCodeTrayDOs);

    List<Map<String, Object>> getFacility(HashMap<String, Object> map);

    List<Map<String, Object>> getFacilityTray(HashMap<String, Object> map);

    List<Map<String, Object>> getStockInList(HashMap<String, Object> stockDOSMap);
}
